# PowerShell测试脚本
$body = @{
    event_type = "网络安全事件"
    event_subtype = "数据勒索事件"
    plan = @(
        @{
            field_name = "安全事件监测"
            content = "采用实时网络流量分析工具和入侵检测系统(IDS)进行监测，结合安全信息和事件管理(SIEM)系统集中收集和分析日志数据，确保及时发现异常数据访问和加密行为。"
        },
        @{
            field_name = "安全事件分析、定级、上报"
            content = "分析流程包括确认事件性质、影响范围和攻击手法；定级依据《通信网络安全事件分级分类指南》，分为特别重大、重大、较大和一般四个等级；上报流程按照公司安全事件报告制度执行。"
        },
        @{
            field_name = "应急响应处置"
            content = "1. 立即隔离受影响系统，防止勒索软件扩散`n2. 切断内网横向传播路径`n3. 启动备份恢复流程，确保业务连续性`n4. 通知网络安全团队进行技术处置`n5. 评估影响范围并制定恢复计划"
        },
        @{
            field_name = "安全事件取证和溯源"
            content = "保留系统日志、内存镜像和网络流量记录；使用数字取证工具收集和分析受感染系统的日志、内存转储和文件样本；通过IP追踪、恶意代码分析和网络行为分析技术溯源攻击者；确保取证过程符合法律要求，保护证据完整性。"
        },
        @{
            field_name = "安全事件总结、结束响应"
            content = "编写详细的事件总结报告，包括事件原因分析、处置过程回顾、损失评估及具体改进措施；组织内部评审会议，深入分析事件原因和处置效果，分享经验教训；根据事件分析结果，更新应急预案和防护措施，加强员工安全意识培训；正式结束响应活动，恢复常态运营，并持续监控改进措施的实施效果。"
        }
    )
} | ConvertTo-Json -Depth 3

Write-Host "测试保存应急预案接口..."
Write-Host "请求体: $body"

try {
    $response = Invoke-WebRequest -Uri "http://localhost:8080/api/v1/save_plan" -Method POST -Body $body -ContentType "application/json"
    Write-Host "状态码: $($response.StatusCode)"
    Write-Host "响应: $($response.Content)"
} catch {
    Write-Host "请求失败: $($_.Exception.Message)"
    if ($_.Exception.Response) {
        Write-Host "错误状态码: $($_.Exception.Response.StatusCode)"
        Write-Host "错误内容: $($_.Exception.Response.Content)"
    }
} 